package com.aiwiown.face.response;

import com.aiwiown.face.ApiResponse;
import com.aiwiown.face.domain.FailureDetail;
import com.aiwiown.face.internal.mapping.ApiField;
import com.aiwiown.face.internal.mapping.ApiListField;

import java.util.List;

/**
 * @ClassName : FaceSetFaceTaskQueryResponse
 * @Description :
 * @Author : dbin0123
 * @Date: 2020-05-16 09:31
 */
public class FaceSetFaceTaskQueryResponse extends ApiResponse {
    private static final long serialVersionUID = 4824104300333288564L;

    /**
     * 标示当前异步任务已经完成(1)
     */
    @ApiField("status")
    private Integer status;
    /**
     * FaceSet 的标识
     */
    @ApiField("faceset_token")
    private String facesetToken;
    /**
     * 用户自定义的 FaceSet 标识，如果未定义则返回值为空
     */
    @ApiField("outer_id")
    private String outerId;
    /**
     * 成功加入 FaceSet 的 face_token 数量（如果当前任务类型为添加人脸，返回此字段）
     */
    @ApiField("face_added")
    private Integer faceAdded;

    /**
     * 成功从FaceSet中移除的face_token数量（如果当前任务类型为删除人脸，返回此字段）
     */
    @ApiField("face_removed")
    private Integer faceRemoved;
    /**
     * 操作结束后 FaceSet 中的 face_token 总数量
     */
    @ApiField("face_count")
    private Integer faceCount;
    /**
     * 无法被加入/删除FaceSet的face_token以及原因
     */
    @ApiListField(value = "failure_detail")
    private List<FailureDetail> failureDetail;

    /**
     * 异步任务失败的原因异步任务失败的原因。可能的值为： INVALID_FACESET_TOKEN,INVALID_FACESET_OUTER_ID,INTERNAL_ERROR
     */
    @ApiField("task_failure_detail")
    private String taskFailureDetail;

    public Integer getStatus() {
        return status;
    }

    public void setStatus(Integer status) {
        this.status = status;
    }

    public String getFacesetToken() {
        return facesetToken;
    }

    public void setFacesetToken(String facesetToken) {
        this.facesetToken = facesetToken;
    }

    public String getOuterId() {
        return outerId;
    }

    public void setOuterId(String outerId) {
        this.outerId = outerId;
    }

    public Integer getFaceAdded() {
        return faceAdded;
    }

    public void setFaceAdded(Integer faceAdded) {
        this.faceAdded = faceAdded;
    }

    public Integer getFaceRemoved() {
        return faceRemoved;
    }

    public void setFaceRemoved(Integer faceRemoved) {
        this.faceRemoved = faceRemoved;
    }

    public Integer getFaceCount() {
        return faceCount;
    }

    public void setFaceCount(Integer faceCount) {
        this.faceCount = faceCount;
    }

    public List<FailureDetail> getFailureDetail() {
        return failureDetail;
    }

    public void setFailureDetail(List<FailureDetail> failureDetail) {
        this.failureDetail = failureDetail;
    }

    public String getTaskFailureDetail() {
        return taskFailureDetail;
    }

    public void setTaskFailureDetail(String taskFailureDetail) {
        this.taskFailureDetail = taskFailureDetail;
    }
}
